package com.yitao.cms.dto.cashCoupons;

import com.skipper.base.dto.BaseDto;
import com.yitao.client.constant.cashCoupons.CashCouponsEnums;
import com.yitao.cms.utils.DateUtils;
import com.yitao.cms.utils.NumberUtil;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * @Author: wwl
 * @Date: 2020/3/11 19:50
 * @Description:
 */
public class CashCouponsListDto extends BaseDto {
    @ApiModelProperty("现金券id 主键")
    private Long id;
    @ApiModelProperty("现金券名称")
    private String couponsName;
    @ApiModelProperty("可使用面额 单位为分")
    private Long faceValue;
    @ApiModelProperty("可使用面额 单位为元")
    private Double faceValueYuan;
    @ApiModelProperty("用户对象，1:本店所有用户，2:本店未支付用户")
    private Integer couponsUserType;
    @ApiModelProperty("现金券使用对象中文描述")
    private String couponsUserTypeDesc;
    @ApiModelProperty("有效天数")
    private Integer validDays;
    @ApiModelProperty("现金券使用开始时间")
    private Date startTime;
    @ApiModelProperty("现金券使用开始时间")
    private String startTimeStr;
    @ApiModelProperty("现金券使用结束时间")
    private Date endTime;
    @ApiModelProperty("现金券使用结束时间")
    private String endTimeStr;
    @ApiModelProperty("现金券状态")
    private Integer couponsStatus;
    @ApiModelProperty("现金券状态描述")
    private String couponsStatusDesc;
    @ApiModelProperty("现金券单人领取上限")
    private Integer couponsGetCount;
    @ApiModelProperty("代金券发放数量")
    private Integer issuedNumber;
    @ApiModelProperty("领取数量")
    private Integer getCount;
    @ApiModelProperty("使用数量")
    private Integer useCount;
    @ApiModelProperty("门店Id")
    private  Long shopId;

    @ApiModelProperty("创建时间")
    private Date createTime;
    @ApiModelProperty("创建时间")
    private String createTimeStr;

    @ApiModelProperty("有效期")
    private String indate;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCouponsName() {
        return couponsName;
    }

    public void setCouponsName(String couponsName) {
        this.couponsName = couponsName;
    }

    public Integer getCouponsStatus() {
        return couponsStatus;
    }

    public void setCouponsStatus(Integer couponsStatus) {
        this.couponsStatus = couponsStatus;
    }

    public String getCouponsStatusDesc() {
        return CashCouponsEnums.CouponsStatusEnum.getDescByCode(couponsStatus);
    }

    public void setCouponsStatusDesc(String couponsStatusDesc) {
        this.couponsStatusDesc = couponsStatusDesc;
    }

    public Long getFaceValue() {
        return faceValue;
    }

    public void setFaceValue(Long faceValue) {
        this.faceValue = faceValue;
    }

    public Double getFaceValueYuan() {
        return NumberUtil.centToYuanForDouble(faceValue);
    }

    public void setFaceValueYuan(Double faceValueYuan) {
        this.faceValueYuan = faceValueYuan;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getCouponsUserType() {
        return couponsUserType;
    }

    public void setCouponsUserType(Integer couponsUserType) {
        this.couponsUserType = couponsUserType;
    }

    public Integer getCouponsGetCount() {
        return couponsGetCount;
    }

    public void setCouponsGetCount(Integer couponsGetCount) {
        this.couponsGetCount = couponsGetCount;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getStartTimeStr() {
        return DateUtils.getDateSecondFormatCashCoupons(startTime);
    }

    public String getEndTimeStr() {
        return DateUtils.getDateSecondFormatCashCoupons(endTime);
    }

    public String getCreateTimeStr() {
        return DateUtils.getDateSecondFormat(createTime);
    }

    public Integer getUseCount() {
        return useCount;
    }

    public void setUseCount(Integer useCount) {
        this.useCount = useCount;
    }

    public String getCouponsUserTypeDesc() {
        return CashCouponsEnums.CouponsUserTypeEnum.getDescByCode(couponsUserType);
    }

    public void setCouponsUserTypeDesc(String couponsUserTypeDesc) {
        this.couponsUserTypeDesc = couponsUserTypeDesc;
    }

    public Integer getValidDays() {
        return validDays;
    }

    public void setValidDays(Integer validDays) {
        this.validDays = validDays;
    }

    public void setStartTimeStr(String startTimeStr) {
        this.startTimeStr = startTimeStr;
    }

    public void setEndTimeStr(String endTimeStr) {
        this.endTimeStr = endTimeStr;
    }

    public Integer getIssuedNumber() {
        return issuedNumber;
    }

    public void setIssuedNumber(Integer issuedNumber) {
        this.issuedNumber = issuedNumber;
    }

    public Integer getGetCount() {
        return getCount;
    }

    public void setGetCount(Integer getCount) {
        this.getCount = getCount;
    }

    public void setCreateTimeStr(String createTimeStr) {
        this.createTimeStr = createTimeStr;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getIndate() {
        return indate;
    }

    public void setIndate(String indate) {
        this.indate = indate;
    }
}

